home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- ** **
- ** Module: QD3DMapping.h **
- ** **
- ** **
- ** Purpose: Mapping routines **
- ** **
- ** **
- ** **
- ** Copyright (C) 1995 Apple Computer, Inc. All rights reserved. **
- ** **
- ** **
- *****************************************************************************/
-
- #if defined (ESCHER_VER_15) && ESCHER_VER_15
-
- #ifndef QD3DMapping_h
- #define QD3DMapping_h
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #if defined(THINK_C) || defined(__SC__)
- #pragma options(!pack_enums, !align_arrays)
- #pragma SC options align=power
- #elif defined(__MWERKS__)
- #pragma enumsalwaysint on
- #pragma align_array_members off
- #pragma options align=native
- #elif defined(__PPCC__)
- #pragma options align=power
- #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
- #pragma options enum=int
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
-
- /******************************************************************************
- ** **
- ** Mapping Data **
- ** **
- *****************************************************************************/
-
- typedef enum TQ3MappingOrder {
- kQ3ObjectOrderPoint,
- kQ3ObjectOrderCurve,
- kQ3ObjectOrderSurface
- } TQ3MappingOrder;
-
- typedef enum TQ3MappingInfoMasks {
- kQ3MappingInfoNothingValid = 0,
- kQ3MappingInfoMaskPosition = 1<<0,
- kQ3MappingInfoMaskOrientation = 1<<1,
- kQ3MappingInfoMaskNormal = 1<<2,
- kQ3MappingInfoMaskObjectID = 1<<3,
- kQ3MappingInfoMaskOrder = 1<<4,
- kQ3MappingInfoMaskShapePart = 1<<5,
- kQ3MappingInfoMaskGuideObject = 1<<6,
- kQ3MappingInfoMaskNoHit = 1<<7
- } TQ3MappingInfoMasks;
-
- typedef unsigned long TQ3MappingInfoMask;
-
- typedef struct TQ3MappingInfo {
- TQ3MappingInfoMask validInfo;
- TQ3Point3D position;
- TQ3Quaternion orientation;
- TQ3Vector3D normal;
- unsigned long objectID;
- TQ3MappingOrder order;
- TQ3ShapePartObject shapePart;
- TQ3GuideObject guideObject;
- } TQ3MappingInfo;
-
- typedef struct TQ3MappingData {
- TQ3Boolean clipToVolume;
- TQ3BoundingBox clipVolume;
- float pointTolerance;
- float lineTolerance;
- } TQ3MappingData;
-
- /******************************************************************************
- ** **
- ** Mapping Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3ObjectType Q3Mapping_GetType(
- TQ3MappingObject mapping);
-
- QD3D_EXPORT TQ3Status Q3Mapping_Submit(
- TQ3MappingObject mapping,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3Mapping_SetData(
- TQ3MappingObject mapping,
- const TQ3MappingData *data);
-
- QD3D_EXPORT TQ3Status Q3Mapping_GetData(
- TQ3MappingObject mapping,
- TQ3MappingData *data);
-
- QD3D_EXPORT TQ3Status Q3Mapping_SetClipToVolume(
- TQ3MappingObject mapping,
- TQ3Boolean clipToVolume);
-
- QD3D_EXPORT TQ3Status Q3Mapping_GetClipToVolume(
- TQ3MappingObject mapping,
- TQ3Boolean *clipToVolume);
-
- QD3D_EXPORT TQ3Status Q3Mapping_SetClipVolume(
- TQ3MappingObject mapping,
- const TQ3BoundingBox *clipVolume);
-
- QD3D_EXPORT TQ3Status Q3Mapping_GetClipVolume(
- TQ3MappingObject mapping,
- TQ3BoundingBox *clipVolume);
-
- QD3D_EXPORT TQ3Status Q3Mapping_SetPointTolerance(
- TQ3MappingObject mapping,
- float pointTolerance);
-
- QD3D_EXPORT TQ3Status Q3Mapping_GetPointTolerance(
- TQ3MappingObject mapping,
- float *pointTolerance);
-
- QD3D_EXPORT TQ3Status Q3Mapping_SetLineTolerance(
- TQ3MappingObject mapping,
- float lineTolerance);
-
- QD3D_EXPORT TQ3Status Q3Mapping_GetLineTolerance(
- TQ3MappingObject mapping,
- float *lineTolerance);
-
-
- /******************************************************************************
- ** **
- ** PickMapping Data **
- ** **
- *****************************************************************************/
-
- typedef TQ3Status (*TQ3PickMappingMethod)(
- TQ3ViewObject view,
- long refCon);
-
- typedef struct TQ3PickMappingData {
- TQ3MappingData mappingData;
- TQ3PickMappingMethod pickMappingMethod;
- long refCon;
- TQ3MappingObject noHitMapping;
- } TQ3PickMappingData;
-
-
- /******************************************************************************
- ** **
- ** PickMapping Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3MappingObject Q3PickMapping_New(
- const TQ3PickMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_Submit(
- const TQ3PickMappingData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_SetData(
- TQ3MappingObject mapping,
- const TQ3PickMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_GetData(
- TQ3MappingObject mapping,
- TQ3PickMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_GetPickMappingMethod(
- TQ3MappingObject mapping,
- TQ3PickMappingMethod *pickMappingMethod);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_SetPickMappingMethod(
- TQ3MappingObject mapping,
- const TQ3PickMappingMethod *pickMappingMethod);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_GetRefCon(
- TQ3MappingObject mapping,
- long *refCon);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_SetRefCon(
- TQ3MappingObject mapping,
- long refCon);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_GetPickNoHitMapping(
- TQ3MappingObject mapping,
- TQ3MappingObject *noHitMapping);
-
- QD3D_EXPORT TQ3Status Q3PickMapping_SetPickNoHitMapping(
- TQ3MappingObject mapping,
- const TQ3MappingObject noHitMapping);
-
-
- /******************************************************************************
- ** **
- ** GuideMapping Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3GuideMappingData {
- TQ3MappingData mappingData;
- TQ3GroupObject guideGroup;
- } TQ3GuideMappingData;
-
-
- /******************************************************************************
- ** **
- ** GuideMapping Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3MappingObject Q3GuideMapping_New(
- const TQ3GuideMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3GuideMapping_Submit(
- const TQ3GuideMappingData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3GuideMapping_SetData(
- TQ3MappingObject mapping,
- const TQ3GuideMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3GuideMapping_GetData(
- TQ3MappingObject mapping,
- TQ3GuideMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3GuideMapping_GetGuideGroup(
- TQ3MappingObject mapping,
- TQ3GroupObject *guideGroup);
-
- QD3D_EXPORT TQ3Status Q3GuideMapping_SetGuideGroup(
- TQ3MappingObject mapping,
- const TQ3GroupObject guideGroup);
-
-
- /******************************************************************************
- ** **
- ** FreeMapping Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3FreeMappingData {
- TQ3MappingData mappingData;
- } TQ3FreeMappingData;
-
-
- /******************************************************************************
- ** **
- ** FreeMapping Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3MappingObject Q3FreeMapping_New(
- const TQ3FreeMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3FreeMapping_Submit(
- const TQ3FreeMappingData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3FreeMapping_SetData(
- TQ3MappingObject mapping,
- const TQ3FreeMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3FreeMapping_GetData(
- TQ3MappingObject mapping,
- TQ3FreeMappingData *data);
-
-
- /******************************************************************************
- ** **
- ** AlignMapping Data **
- ** **
- *****************************************************************************/
-
- typedef struct TQ3AlignMappingData {
- TQ3MappingData mappingData;
- TQ3Point3D position;
- TQ3Vector3D normal;
- } TQ3AlignMappingData;
-
-
- /******************************************************************************
- ** **
- ** AlignMapping Routines **
- ** **
- *****************************************************************************/
-
- QD3D_EXPORT TQ3MappingObject Q3AlignMapping_New(
- const TQ3AlignMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_Submit(
- const TQ3AlignMappingData *data,
- TQ3ViewObject view);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_SetData(
- TQ3MappingObject mapping,
- const TQ3AlignMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_GetData(
- TQ3MappingObject mapping,
- TQ3AlignMappingData *data);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_SetPosition(
- TQ3MappingObject mapping,
- const TQ3Point3D *position);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_GetPosition(
- TQ3MappingObject mapping,
- TQ3Point3D *position);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_SetNormal(
- TQ3MappingObject mapping,
- const TQ3Vector3D *normal);
-
- QD3D_EXPORT TQ3Status Q3AlignMapping_GetNormal(
- TQ3MappingObject mapping,
- TQ3Vector3D *normal);
-
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-
- #if defined(__MWERKS__)
- #pragma enumsalwaysint reset
- #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
- #pragma options enum=reset
- #endif
-
- #endif /* QD3DMapping_h */
-
- #endif /* ESCHER_VER_15 */
-